import os
import sys
import pytest
from common.fileLoad import load_yaml_file, write_yaml
from common.reportModify import rename_window_title, rename_overview_title

if __name__ == '__main__':
    # Python提供外部获取参数方法   sys.argv
    args = sys.argv  # 该方法可以接收命令行传递参数 返回列表
    # 命令行执行 python run.py pro 返回 ['run.py', 'pro']
    # 第一个元素执行文件、第二个元素环境名称
    print(args)
    # 默认测试环境
    env_file_path = r'/config/env_test.yml'
    # 传递环境名称
    if len(args) > 1:
        env_name = args[1]
        # 路径拼接
        env_file_path = f'/config/env_{env_name}.yml'
        # 删除传进来的环境名称参数  否则会被当做pytest执行用例名称
        del args[1]
    # 读取当前配置文件
    env_info = load_yaml_file(env_file_path)
    print(env_info)
    # 写入默认配置文件
    write_yaml(r'/config/common.yml', env_info['common'])
    write_yaml(r'/config/http.yml', env_info['http'])
    write_yaml(r'/config/redis_util.yml', env_info['redis'])
    write_yaml(r'/config/db_util.yml', env_info['db'])

    # 该方法会自动扫描pytest.ini文件设置
    pytest.main()
    # 本地启动allure报告服务器 方便浏览器查看报告
    # 直接打开报告 自己查看 实时查看
    # os.system('allure serve report/data')
    # 生成静态html报告 方便他人查看
    # os.system('allure generate ./report/data -o ./report/html --clean')
    # os.system('rm -rf /usr/share/nginx/html/report/html')
    # 修改a文件
    # 我是b文件
    # 我是分支1修改
    # 我是master修改
    # rename_window_title('汉帛自动化测试')
    # 修改报告的Overview标题
    # rename_overview_title('汉帛自动化测试报告')
    # os.system('docker cp slave1:/home/jenkins/workspace/APIAutoTest/HuberBuyAutoTest/report/html  /usr/share/nginx/html/report')
